package com.cskaoyan.service.promote;

import com.cskaoyan.bean.promote.Topic;
import com.cskaoyan.bean.promote.base.PromotePageData;
import com.cskaoyan.bean.promote.base.PromoteParam;
import com.cskaoyan.bean.promote.bo.BatchDeleteTopicBO;
import com.cskaoyan.bean.promote.bo.TopicListSearchBO;
import com.cskaoyan.bean.promote.exception.AddTopicException;
import com.cskaoyan.bean.promote.exception.DeleteTopicException;
import com.cskaoyan.bean.promote.exception.EchoUpdateTopicException;
import com.cskaoyan.bean.promote.exception.UpdateTopicException;
import com.cskaoyan.bean.promote.vo.EchoUpdateTopicVO;

/**
 * @author liXiaoFei
 * @date 2021/10/18 17:09
 */
public interface TopicService {
    PromotePageData queryTopicList(PromoteParam promoteParam, TopicListSearchBO topicListSearchBO);

    Topic addTopic(Topic topic) throws AddTopicException;

    void deleteTopic(Topic topic) throws DeleteTopicException;

    void batchDeleteTopic(BatchDeleteTopicBO ids) throws DeleteTopicException;

    EchoUpdateTopicVO echoUpdateTopic(Integer id) throws EchoUpdateTopicException;

    Topic updateTopic(Topic topic) throws UpdateTopicException;
}
